 RAMDISK -- The Most Cost-Effective Hardware Add-On For Kaypro CP/M Systems
 ==========================================================================
                Richmond Kaypro Users Group Newsletter Article
                              by John W. Alwood
                                   3/4/86

Often, I get involved in conversations or debates concerning the relative
merits or advantages that one PC offers over another.  Some of these
conversations center around the future of micro-computer technology.  Others
gravitate toward issues related to currently available products and/or
systems.  I enjoy these conversations.  They help keep me on my toes and
enable me to put my knowledge and experience up against occasionally worthy
competition. Eventually, after the discussion has progressed far enough, it
will turn toward "my" system.

"WHAT?", the newcomer cries!  "Did I just understand you to say that the only
system you own is a KAYPRO?  Why, haven't you heard!  CP/M computers are
obsolete.  Let's face it, almost everything else on the market today can run
circles around your KAYPRO."    "Not quite" I reply.  Then they will usually
respond with something like "What do you mean by that!".  This, of course, is
when I move in for the kill.

-----------------------------------------------------------------------------

This newsletter article will discuss several possible ways in which the
average Kaypro CP/M user can improve the performance of his computer.  In
particular, I will discuss what I consider the most significant upgrade
available for CP/M Kaypro computers:  a Ramdisk!  I guess one of the first
things I should do is to give a little background information on myself in
order to establish credibility.  Where someone stands on any given issue often
is related to where they sit.  A lot of my time is spent sitting at my Kaypro.

I purchased my Kaypro II back in April, 1983.  I have been using it
extensively for nearly 3 years -- for both professional and personal work.
Like many other computer users, I have invested a large amount of time and
effort in a attempt to master my computer, its operating system, and its
applications software.  At the time I purchased my Kaypro, I considered it the
best cost/benefit buy on the market.  And I believe that the value of the
money I have invested in hardware and software is insignificant when compared
to the value of the time I have spent learning how to make it all work.  That
learning process started with the Richmond Kaypro User's Club.

I have been a dues paying member of the RKUG since its beginning (I was its
first vice-president).  I guess the first 6-months were a time of exploration
and experimentation.  After the first 6-months, my professional career began
to be the primary occupant of my after-hours spare time.  As a result, my
participation in the RKUG diminished to that of a monthly subscriber,
infrequent attender, and null contributor.  This is my first formal
contribution to the monthly newsletter.  I hope it will be the first of many.
I have climbed many learning curves since I began, and I now have the time to
share the experience with others who may be but beginning the journey.

Over 50% of my computer time has been spent using Perfect Writer and Perfect
Calc.  For those of you who use Perfect Writer, I will mention that I have
purchased just about every book that I ever saw published on the subject.  If
anyone is interested in perusing any of those Perfect Writer books, I would be
glad to bring them in.  Some are better than others, and it doesn't hurt to
look first and buy later.

The remaining 50% of my time is spent using KAMAS, Smartkey & Smartprint,
Nevada COBOL, and various Public Domain utilities.  Other software that I own
(but use infrequently): Nevada FORTRAN, Nevada EDIT, Nevada PILOT, TURBO
Pascal, Fancy Font, SBASIC, and MBASIC.  I also have Plu-Perfect Writer -- but
it doesn't work with my CoPower-88 Ramdisk, so I don't use it.

When I purchased my Kaypro, I also purchased an Epson FX-80 dot-matrix
printer.  Two years later, I purchased a Brother HR-15 letter quality printer
with cut-sheet feeder.  Both printers are presently connected to my Kaypro via
a Black Box X-Switch (cross-over switch).  Last December, I purchased a 64K
external Quick-Link print buffer ($159) from Peopletalk Associates.  The print
buffer is installed between the Kaypro and the X-Switch (it buffers both
printers, one at a time).  The Quick-Link 64K Print Buffer will hold over
25-pages of printed output and feed that data to your printer -- allowing you
to use your Kaypro while your printer is printing.  This is a real benefit
when dealing with multi-page output, especially when using a daisy-wheel
printer whose top speed is 12 characters per second!  I would recommend the
Peopletalk 64K Quick-Link buffer anytime (it also works OK with Fancy Font).

NOTE: Black Box sells a similar 64K print buffer ($169) that does not work!  I
ordered one; had to send it back for a replacement; and then had to send the
replacement back for a refund.  I tried the Black Box print buffer on my
Kaypro/Epson at home and on my IBM-PC/Epson printer at work.  It didn't work
on either system.

              MY KAYPRO -- A Brief History of Hardware Upgrades

As I've already stated, I purchased a 1983 Kaypro II.  Like most computer
buyers, the additional speed and other advantages it gave me over the "old"
way of doing things (ie, "manual") was rapidly taken for granted after the
first two or three months of use.  Thereafter, the emphasis was on trying to
get more and more performance using less and less effort.  I believe that I
have successfully accomplished this task -- within the limits of the hardware.
In order to achieve this, I had to install "several" upgrades to the original
equipment.

My first hardware upgrade was fairly simple and straightforward (if not
inexpensive).  About 18 months ago, I installed a 256K CoPower-88 Ramdisk.
This is the upgrade that I considered the most significant.  More than
anything else, the Ramdisk has speeded up overall processing the most.  It
enables my Kaypro to read and write data to files located on the Ramdisk at
electronic speeds with no noise, no delay, and no wear or tear on either the
disk drives or the diskettes.  If you are uneasy about hardware upgrades, I
would recommend that you at least get a Ramdisk.  I will discuss the benefits
of Ramdisks in greater detail later on.

My second hardware upgrade took place about 2 months after the Ramdisk was
installed.  It consisted of installing a 8 MegaHertz Advent TurboCard.  The
"speed" at which a micro-computer runs is measures in "Hertz" (cycles per
second).  The more CPU cycles per second, the faster things get done.  My
original Kaypro II ran at 2.5 MHz (ie, 2,500,000 cycles per second).  As
micro-computers go, that is rather slow.  The Advent TurboCard increased the
speed of my original Kaypro by 320%, or up to 8 MHz.  This upgrade, in
combination with the Ramdisk, made my Kaypro faster than any CP/M Kaypro on
the market.

My third hardware upgrade was prompted by the failure of one of my original
Single-Sided disk drives.  Both drives probably had over 100,000 miles on
their odometers.  I figured that the second drive could not be far behind the
first -- so about a year ago, I had both of the original full-height
single-sided disk drives replaced with new half-height double-sided drives.
This upgrade effectively turned my original Kaypro II into a Kaypro 4.  While
it didn't speed processing up any, it did double the size of available
diskette storage.  However, reformatting and copying all of my single-sided
diskettes into double-sided diskettes took almost forever!

My fourth hardware upgrade was a rather minor one.  About 2 months ago, I
replaced the original character ROM (the chip inside the Kaypro that
determines what the letters and characters on your screen look like) with a
Pro-Character ROM from Micro Cornucopia.  Most older Kaypros are capable of
displaying "Greek" characters, but these Greek characters are rarely used.
The character ROM contains instructions that tell the CRT which "dots" to
light up in order to display the appropriate characters.  Memory space within
the character ROM is filled up with instructions on how to display the Greek
characters.  Since these characters are rarely used, the Pro-Character ROM
uses that space to give more detailed instructions on how to display normal
characters -- using more dots -- giving a cleaner looking character display.
All of this, for only $30.

My fifth hardware upgrade was completed less than one month ago.  It consisted
of replacing my disk drive "monitor" ROM with Advent's TurboROM.  The Advent
TurboROM is suppose to speed up floppy disk drive "reads" and "writes" by a
factor of 2 to 4 times.  This should mean that, in general, your disk drive
activity should be at least twice as fast as before.  Well, not quite -- and
not always.  More on the TurboROM in a later article.  Since I have not had it
installed for more than a month yet, I will not go into a lot of detail here.

Other minor changes to my Kaypro may be considered "reconfigurations".  I have
relocated my "reset" button and my "brightness" control to the front of the
computer.  Also, in order to fit both the Ramdisk AND the TurboCard, I had to
cut a 3-inch by 6-inch rectangular hole in the top of my Kaypro cover.  The
"hole" is covered with a distinctive baby blue cap.  Also, attached to the
left side is a velcro strip whose purpose is to hold my "bit-banger" -- a
sponge hammer used to beat my Kaypro whenever it doesn't behave properly (it
is one of the better "joke" gifts I've received).

Well, so much for whatever happened to my original Kaypro.  As you can see, I
have spent a lot of time and effort in an attempt to get the most out of what
I already had.  To me, this made a lot more sense than starting all over again
with a different system, different software, etc.  I guess if I added it all
up, my hardware upgrades would cost as much as the original Kaypro II did
($1,800.00).  Well, let's see:

      $1800.00  Purchased Kaypro II (4/83)

                $ 500.00  256K CoPower-88 Ramdisk (11/84)
                $ 240.00  8MHz Advent TurboCard (1/85)
                $ 600.00  Two Half-height Double-Sided Disk Drives (3/85)
                $  30.00  Micro Cornucopia Character ROM (1/86)
                $  95.00  Advent TurboROM (with '83 adapter) (2/86)
                --------
                $1465.00  Upgrade Total (as of 2/86)

The hardware upgrades did not quite equal the cost of the original Kaypro, but
almost!  Why did I do it?  Well, you have to consider some of the
alternatives.  I guess the primary alternative would have been to buy an
IBM-PC or compatible.  Or perhaps a Macintosh.  The right choice depends upon
exactly what you ARE using your PC for -- and what you WOULD LIKE to use it
for.  In my work, I have been exposed to a number of other PC's.  I have seen
first- hand what their strengths and weaknesses are.  I made my decisions
based upon those experiences -- and based upon the additional dollars that
would have been required to obtain, on the new system, the capabilities I
already had on my Kaypro (ie, software + hardware).

First of all, I would like to mention that I have used my Kaypro extensively
in my daily job.  I have written numerous reports, memos, evaluations, and
recommendations using Perfect Writer and Perfect Calc.  Lately, I have used
KAMAS as a development tool (outline processing) for my writing.  In fact,
this newsletter article is being structured and developed using KAMAS, and
polished and formatted using Perfect Writer.  If I wanted a typeset quality
finished document, I would print the final copy using Fancy Font.  In any
event, my Kaypro has often given me a significant professional advantage.
Co-workers have often made fun of me toting my Kaypro around, to and from
work.  But most of them did not even own a PC with which to compete.  If I
sound like I considered my Kaypro to be a competitive edge, I do!

One primary alternative -- or possible upgrade -- that I considered was the
purchase of an IBM-PC compatible computer.  However, any experienced Kaypro
CP/M user who has had the opportunity to use an IBM-PC (or clone) knows that
there is not a significant performance advantage -- especially for word
processing users.  If you need color graphics or if you use monster
spreadsheets, then maybe a MS-DOS PC is for you.  However, users who need word
processing and one-or-two page spreadsheets should not need the additional
memory (and expense) offered by the MS-DOS PC's.  It depends upon your needs
and objectives.  At work, I personally evaluated and recommended that five
MS-DOS PC's be purchased.  One is used for Data Communications Network
Modeling.  The other 4 are used as online terminals with mainframe-to-micro
file download capabilities and PC-based relational databasing applications.
However, for what I personally use a micro-computer for, my Kaypro fits the
bill.

I have also evaluated and recommended the purchase of two 512K Macintosh
computers with external disk drives, Imagewriter printers, and one Laserwriter
printer (connected via Appletalk Network).  One of these Macintosh PC's is
being used to support a Data Communications Service Order Processing System,
developed using Odessa Helix relational database software.  The other Mac is
used for high-resolution graphics and typeset quality printing.  The Mac does
good pictures.  However, if I had to do it over again, I would never have
placed the Service Order Processing System on a diskette-based Mac.  I am now
attempting to get the one Mac upgraded with the installation of a 20-Megabyte
Hyperdrive.  But once again, the Macintosh is good for what it does best:
Monochrome Graphics.  Nice to have, but look at the $$$$.  For my word
processing and spreadsheet requirements, my Kaypro covers the bases.

In summary, I guess I decided that it was better to spend a little more on my
existing system instead of starting all over with an entirely new system.  By
doing things this way, I could continue to use all of the software I already
owned and had learned how to use.  Purchasing a new system would also mean
that I would have to purchase a lot of software -- most of which I already
owned (CP/M versions).  And while the other systems offered bigger, better,
faster, etc., I could never cost-justify the difference between what they
offered and what I already had. If I were starting from scratch, it might have
been different.  But as I stated earlier, I CONSIDER THE TIME AND EFFORT THAT
I HAVE INVESTED IN LEARNING HOW TO USE MY SYSTEM AND SOFTWARE TO BE OF FAR
GREATER VALUE THAN ANY OF THE ACTUAL DOLLAR COST I HAVE INVESTED IN THE
HARDWARE.  I believe that the same can be said for many other Kaypro CP/M
users.

          TIME TO MOVE UP -- CP/M Limitations - Doing More With Less

To get ahead, you must often first know what's holding you back.  For most
CP/M Kaypro users, one thing is holding you back more than anything else: lack
of memory.  The computer chip (Z-80) used in your Kaypro can only access 64K
of RAM (memory).  Back in the "old" days of microcomputing, this was
considered to be a lot of memory.  Most IBM-PC compatible systems come
standard with 256K today (with a capacity of up to 640K -- ten times the
Kaypro's 64K).  By the end of the decade, personal computers will come
STANDARD with one-Megabyte or more of memory, and Artificial Intelligence
applications will need every byte of these Megabyte memories.  However, the
Kaypro provides impressive capabilities, functions, and features -- with only
64K of memory.  The programs that run on the Kaypro accomplish this in a
number of ways.  In almost all cases, the Kaypro programs do a little fancy
footwork on the disk drives in order to compensate for the lack of internal
memory.  And disk drives are relatively "slow" devices to be dancing on.

                 SWAP FILES -- Memory That Really Isn't There

All early Kaypro owners (1982-84) should be familiar with one of the more
effective methods of compensating for limited memory space: the Swapfile.
Programs that use "swapfiles" (such as Perfect Writer, Perfect Calc, KAMAS,
etc.) are using what is known as a "virtual memory" system.  This enables a
document to be much larger than could ever fit into the computer's memory at
one time.  In order to accomplish this, the software must use disk drive
storage -- together with computer memory space -- to hold the document.  Most
programs will allow you to increase the possible size of your document by
increasing the size of your swapfile.  Perfect Writer's swapfile can be up to
256K in size. I have used Kaypro Perfect Writer swapfiles of up to 240K in
size (the largest my Ramdisk will hold).

When a program uses a swapfile, it is storing most of your document in the
swapfile.  Only the part of the document that you are working on is actually
in memory at any given time.  Any portion of the document can be "called" into
memory upon demand.  However, when it becomes necessary to "demand" into
memory a page of data from the swapfile, you must wait for the disk drive to
locate the demanded page within the swapfile and load it into memory.  Before
a demand page can be placed into memory, it may be necessary for the program
to remove from memory an existing page by writing it to the swapfile.

For small documents, this swapping process usually does not take very long.
For larger documents, the "swapping" delay can become absolutely annoying.  It
is here that the mechanical speed of the disk drives causes significant
delays.  However, if your swapfile is located on a Ramdisk, the swapping
delays are virtually non-existent (pardun the pun).  If your swapfile is
located on a Ramdisk, your program will behave as if the entire document were
in memory -- there would not be any significant swapfile input/output delays!
Users of swapfiles will have to see the difference in order to fully
appreciate it!

                        OVERLAYS -- Pieces Of Programs

Whereas swapfiles are used to enable a program to handle a document that may
be many times larger than available memory, program "overlays" are used to
enable a computer to run a program that may be many times larger than
available memory.  Some applications actually "break" the program into several
subprograms.  For example, Perfect Writer is composed of four separate
programs (pw.com, ps.com, pf.com, pp.com) that are "tied" together by a
MENU.COM program.  Each program can be executed independently of the other;
all can be executed by the Menu program.

Programs that use overlays -- such as Wordstar and KAMAS -- are composed of
one "primary" program module which is initially loaded into memory whenever
the application is started, and any number of secondary modules (or overlays)
that are loaded into memory only as the need arises.  These overlay modules
can be thought of as being "subroutines" or "subprograms".  However, they
cannot be executed independently.  They only function when under the direct
control of the primary program module.  Each individual overlay module is
usually designed to perform a specific group of related functions.

Whenever the user requests a function or service that the primary program
module cannot perform, the primary program will call in the appropriate
"overlay".  The overlay will be read in from the disk drive and placed in a
portion of the computer's memory that the primary module has reserved for
overlays.  After the overlay has completed its task, control is transferred
back to the primary module, but the overlay remains in memory.  If the primary
module requires a different task from another overlay, the second overlay is
loaded into memory over top of the first overlay module.  Hence the term
"overlays".  Usually, only one overlay is in memory at any given time, but
several different overlays may be stored on the disk drive.

Program overlays usually do not take very long to "load" into memory.
However, if the user is constantly switching from one type of request to
another, it may cause a continuous series of overlays to be read into memory.
Depending upon the size of the overlay module and several other factors, the
"loading" delay may become annoying.  Some programs, such as KAMAS, use
program overlays AND swapfiles.  By loading the overlays and swapfiles into a
Ramdisk, system "response time" can be significantly improved.

                     SCRATCH FILES -- Workspace On A Disk

Other programs may use disk files as temporary scratch files or work files.
Compilers are a good example. Compilers need to build several
"cross-reference" tables to keep track of variable-names and other details.
If there is enough memory available, these details can be stored in memory.
However, where there is insufficient memory available, it may be necessary to
use disk files to store the tables and other required information. Typically,
a compiler will, at a minimum, read a source program file from disk and write
a object program file to disk.  This will involve a substantial amount of disk
reads and writes -- in addition to whatever disk drive I/O is associated with
temporary scratch or work files.  Putting all of these files on a Ramdisk
before processing can increase the speed of the overall operation by over
100%.

Database processing and SORTING are other activities which are usually disk
drive intensive.  If the input file and the output file are both on Ramdisk,
the sort will run many times faster.  Also, if the Ramdisk is the default CP/M
drive, any work files created by the sort program will probably be created on
the Ramdisk.

         RAMDISK PRODUCTS -- The Most Significant Performance Upgrade

Because of the performance improvements offered by any Ramdisk, I consider the
installation of a Ramdisk to be the most beneficial and cost-effective
hardware upgrade possible for Kaypro CP/M computers.  However, for the benefit
of those users who are completely unfamiliar with the terminology and/or
technology, a brief explanation might be in order.

A Ramdisk (RAM stands for "random access memory") is nothing more than a
solid-state disk drive.  It is a circuit board containing memory chips
designed to look like a regular disk drive to your computer.  The main
difference between a Ramdisk and a normal disk drive is that the Ramdisk has
absolutely no moving parts.  Everything is electronic and operates at
electronic speeds.  A Ramdisk does not cause the computer to "wait" until a
diskette rotates into the proper position, or wait for the read/write heads to
position themselves.  Since a Ramdisk does not have any moving parts, it has
no parts that will wear out.  If most of your routine file processing
(swapfiles, overlays, sortfiles, compiler files) is done on Ramdisk, your
normal disk drives will experience less overall wear and tear.  Your diskettes
will also last longer.  In addition, your system "response time" will improve
by up to 500% and you will be able to work in relative silence -- because a
Ramdisk doesn't make any noise.

There are two basic types of Ramdisk products.  The first type can be
represented by the SWP CoPower-88 board.  This board gives you two
capabilities: (1) use it as a regular Ramdisk; or (2) turn your Kaypro into a
MS-DOS compatible system.

I have used my CoPower-88 to run the MS-DOS version of Perfect Writer.  The
overall performance of the CoPower-88 board in MS-DOS mode is no better than a
normal MS-DOS PC would be when running Perfect Writer (I have also used both
Version 1 and Version 2 of Perfect Writer on normal IBM-PC's).  Keep in mind
that it is not possible for your CP/M Kaypro to become anywhere close to being
100% MS-DOS compatible.  But a significant number of MS-DOS programs will run
properly on the CoPower-88 board.  I would not recommend that anyone buy a
CoPower-88 board for the sole purpose of attaining IBM compatibility.  I
purchased mine primarily to be used as a Ramdisk.  If you want (or need)
MS-DOS compatibility, buy a MS-DOS computer.  If you can get by with MS-DOS
file transportability, then buy a disk format conversion program (Uniform,
Media Master, etc).  If you need a Ramdisk, I have been using the CoPower-88
for over a year without any problems.  It is a very solid product and is easy
to install.  The MS-DOS capability is secondary in my list of priorities.

Assuming you want a Ramdisk, there are two basic varieties: internally mounted
and externally mounted.  If you need to maintain the portability of your
Kaypro, you will want a internally mounted Ramdisk.  The CoPower 88 board is
internally mounted (it use to be an option offered by Kaypro in their since
discontinued "Kaypro 4 Plus 88" model). If portability is not important, you
may prefer an externally mounted Ramdisk.  The Micro Cornucopia Ramdisk is
externally mounted (in addition, the Micro-C Ramdisk will also provide printer
buffer functions).

         RAMDISK SIZE VS COST -- If Some Is Good, Is More Better $$$?

The last issue that needs to be addressed is size.  How big of a Ramdisk is
sufficient.  Keep in mind that the cost of a Ramdisk is directly proportional
to its size.  I have been getting along fine using 256K.  However, I would be
less than honest if I said I never wished that I had more.  If 256K is good,
then 512K is better, and 1-Megabyte is better still.  Advent sells a
internally mounted Ramdisk that goes up to 2-Megabytes in capacity.  However,
a 2-Megabyte Ramdisk will cost you over a thousand dollars.  A 1-Megabyte
Ramdisk is going for $500 - $600.  Most Ramdisk products come with a minimum
of 256K costing from $350 - $400 dollars.  More is always better, but unless
you have lots of $$$, you should consider what you want to use it for before
you decide upon what size ($$$) you need.

My 256K Ramdisk satisfies about 80 - 90 percent of my requirements.  I will
normally load my software out to the Ramdisk via submit files.  That way, all
appropriate swapfiles and overlay files are processed against the Ramdisk,
with all document files remaining on the floppy disk.  NOTE : THIS IS
IMPORTANT, because a Ramdisk loses everything once the power is turned off.
If you load any data files into the Ramdisk, you must be sure to copy any
modified Ramdisk data files back out onto a floppy disk before powering down.
If you forget to do this, you will lose your work (with no way to recover).  I
think it is safer and easier to keep the data files on the "real" drives and
reserve the Ramdisk for copies of the software loaded from floppy diskettes.

My primary applications are Word Processing (KAMAS and Perfect Writer) and
Spreadsheets (Perfect Calc).  My 256K Ramdisk is entirely satisfactory for
these applications.  It is also adequate for compiler operations, such as
those performed by Nevada COBOL and SBASIC.

If your applications require you to handle large database files or require you
to manipulate/sort large files (ie, more than 100K in size), then you may want
to seriously consider spending the extra cash required to get a 512K or larger
Ramdisk.  Also, if you are one of those "more is always better" types, you may
want a Ramdisk that will hold everything one could possibly want -- all at the
same time.  In that case, I would recommend the Advent 2-Megabyte model (cost:
over $1,000).

For others, reasonable compromises between what is possible and what is
cost-effective may be in order.  I would estimate that I use about 75% of my
256K Ramdisk capacity over 90% of the time.  "What does that mean!", you may
say.  That means that for 90% of the time, I have more than 200K worth of my
Ramdisk allocated to files.  For the remaining 10% of the time, I either used
less than 200K Ramdisk space (5% of the time) -- or needed more space than the
256K Ramdisk will provide (the other 5% of the time).  If I had a 2-Megabyte
Ramdisk, I would probably indulge. However, I might only be using 25% of the
capacity for 90% of the time; and be using 50% of the capacity (1 Meg) for
only 6% of the time; and be using 90% of the capacity for less than 3% of the
time.  Where is the cost-justified "break-even" point in terms of capacity vs
cost?

       PERFORMANCE BENCHMARKS -- Using The SWP CoPower-88 256K Ramdisk

In order to accurately demonstrate and/or compare the performance of one
computer system against another, certain "benchmark" tests are run.  In the
case of the Kaypro hardware upgrades I've been discussing, we will be
interested in a "before" and "after" measurement of performance.  Since I have
performed several different hardware upgrades to my system, the benchmarking
activities became rather involved.  The purpose of the benchmarks was to
determine how much, if any, the various hardware upgrades contributed to the
overall performance of my Kaypro.  Two disk-drive intensive programs were used
to test overall performance: SBASIC and Perfect Calc.

SBASIC is a Structured BASIC programming compiler that was included in the
"bundle" of software that came with most Kaypros.  SBASIC programs can be
written using a standard ASCII text word processor (like Perfect Writer, or
Wordstar in non-document mode).  The program text file (source file) is then
read by the SBASIC compiler and a COMmand file is generated.  During the
compilation, several work files are created.  The program I used during the
compile also came included with the Kaypro: XAMN.BAS (a 20K SBASIC program
text file).  Because both the XAMN.BAS source code and the SBASIC compiler
came with the earlier Kaypros, the benchmarks used here can be repeated on
other machines -- and the results compared (keep in mind that later model
Kaypros run at a 5 Mhz clock speed!).

 The second benchmark program consisted of Perfect Calc using a series of 7
associated spreadsheet files -- requiring the full 7-buffer capacity of the
software and requiring over 50K of storage within the 64K Swapfile.  In order
to load and/or recalculate these spreadsheets, Perfect Calc requires extremely
heavy swapfile activity.  Like SBASIC, Perfect Calc came bundled with the
earlier Kaypro's.  However, the spreadsheet I used in the benchmark did not.
For this reason, it will not be possible for others to exactly duplicate this
benchmark.  However, if a spreadsheet of similar complexity is used, similar
results should be obtained.

       DISKETTE PREPARATION -- Format, PIP To Source, Copy From Source

It is important to note that all diskettes used for similar benchmarks must be
identical copies of each other.  This means that we must make one Master copy
each of the SBASIC and Perfect Calc disks and (using COPY.COM) make
formatted/copied/verified clones of this Master disk.  This ensures that all
other diskette-related variables (file fragmentation, directory extents, etc)
are equal.  Only the copies are used in the benchmarks -- and they are only
used one time.  We start with a "fresh" copy for each test.  This is a very
time consuming process, but if it is not done this way the results may not be
valid or consistent.

To check for consistent results, some of the benchmarks were performed two
times.  In all cases, results were accurate to within about a 2% deviation.
Master copies were made by formatting a new disk and using the CP/M PIP.COM
program to copy the required files onto the disk.  All diskettes to be used
for "clone" copies of the Masters were first erased with a bulk magnetic
eraser.  Then they were formatted/copied/verified in order to produce a xerox
carbon-copy clone of the Master disk.

The spreadsheets on pages 9 & 10 of this newsletter article contain the
results of the benchmarks.  Several different configurations were involved:

First, all benchmarks were executed at two different speeds: 2.5 MHz and 8
MHz.  Since speeding up the CPU clock does not make the disk drives go any
faster, we can get a rough idea of how much time is used by disk drive related
activities (read/writes) -- and how much time is used by internal CPU
operations -- by comparing the overall times associated with similar operating
configurations, but different clock speeds.  The differences in these times
will be a result of the faster processing associated with the internal CPU
operations.

Second, we can compare the proportion of time used by the disk drives by
keeping the system clock the same (either 2.5MHz or 8Mhz) and comparing the
difference between the time it takes to do something on the disk drives versus
the Ramdisk.  Since there is little I/O time associated with the Ramdisk, most
of the time difference will result from physical seek time and rotational
delay time associated with the disk drives.

Third, during the performance of these benchmarks, the Advent TurboROM was
installed.  The TurboROM is suppose to increase disk drive read/write speed by
a factor of 2 - 4 times.  A full set of benchmarks was repeated AFTER the
TurboROM was installed.  You can judge for yourself the difference the
TurboROM actually made.

                              THE RECOMMENDATION

Finally, the recommendation: BUY A RAMDISK.  It doesn't really matter what you
use your Kaypro for, a Ramdisk will help.  How big of a Ramdisk should you
get?  Well, that depends upon what you use your computer for.  I know that
"more is always better" but keep in mind that there is no such thing as a free
lunch.  Any user who is frustrated by the delays associated with disk drive
reads/writes and/or disk drive noise, or who is interested in reducing the
constant wear and tear on both the diskettes and the disk drives, should get a
Ramdisk.

I would recommend against putting an excessive amount of money into an
oversized Ramdisk.  That money could be better spent purchasing other hardware
upgrades, software products, or external add-ons.  Many of these other
products will provide a more cost-effective performance improvement.  Besides,
it has always been my opinion that most of the limitations and shortcomings
are not in the computer, or its software, or its attached equipment.  Most of
the limitations and shortcomings are in the user of the system.

Probably the most productive activity that can be offered is User Education.
Very few computer users ever push their hardware/software to within even 75%
of its capabilities.  Your Kaypro does not do color graphics or multi-acre
spreadsheets.  However, your CP/M Kaypro can probably do what you want to do
(or what you are already doing) a lot easier and a lot faster -- provided you
know the "tricks" of your software; are willing to take the time to learn; and
are willing to spend a few dollars on products that will bring those extra
capabilities within reach.  It is a lot cheaper than starting all over from
scratch with a new system.

         ENHANCEMENT PRODUCTS -- Minor Investments With Major Payoffs

Enhancement products come in two categories: hardware and software.  Most
hardware upgrades will cost from $30 up to whatever you want to pay.  Software
enhancement products will cost from $30 up to $100.  In many cases, for a
minor cost you can obtain a significant improvement in either performance, or
ease of use, or both (ie, productivity).  My time is valuable to me.  I am
willing to pay a little $$ and invest a little more time into installing some
hardware or learning some software -- if I can expect at least a 50%
productivity return on my investment within one year.

One of the most cost-effective and productivity enhancing software products
can be had for less than $75.  I am referring to keyboard utility programs
like Smartkey, Xtra-Key, Backgrounder, and others.  I personally own versions
1.1b and 4.2 of both Smartkey and Smartprint.  Version 4.2 does not work with
the TurboROM; however, version 1.1b does!  In any event, I thought so much of
the capabilities offered by version 1 that I did not hesitate to upgrade to
version 4.  I was first exposed to the potential of this software when I got
hold of a public domain program called "Qwik-key".  After about 3 weeks of
using Qwikkey, I decided to spend $70 for Smartkey, and have never regretted
it.

Cost-effective hardware enhancements include speed-up boards for older Kaypros
(from 2.5MHz up to 5Mhz -- twice as fast) and printer buffers for any Kaypro.
Recent model Kaypros are already running at 5MHz.  NOTE: Advent no longer
sells the 8MHz TurboCard.

Printer buffers capable of holding over 25 pages of printer text can be had
for less than $175 (bare-bones models). Once you have broken free from the
tyranny of slow printers, you will never go back.  I no longer am forced to
take a coffee break everytime I print a couple of pages.  From now on, I can
be productive at the same time that my printer is being productive.  If you do
a lot of printing, a printer buffer will easily pay for itself within a year
-- just in the time it frees up.

    ADD TO WHAT YOU GOT -- Hardware Investment & Learning Curve Experience

I guess that my personal preference is always to try to improve upon what I've
got instead of starting over all the time.  Starting over can be both time
consuming and expensive -- and there is no certainty that when you finally get
to where you're going, you'll be better off enough to make the journey
worthwhile.  However, I don't intend to take this Kaypro to the grave with me!
Sometime within the next 2 years, I plan on buying a "new" computer.  I am
waiting for someone to make one that is significantly more capable than my
Kaypro (the Macintosh "Plus" looks interesting).  However, until I decide that
the additional capabilities offered by a new system is worth the additional
$$$$ I will have to spend, I will continue to try to get the most out of what
I already have.  I think I will keep my Kaypro II/4 for a while longer.

                  BENCHMARK SPREADSHEET HEADING EXPLANATIONS

The two spreadsheets appearing on the following pages contain the results of
the benchmark tests.  The headings appearing across the top of these
spreadsheets are defined as follows:

LINE NUMBER : for reference purposes, each line in the spreadsheet has a line
number.

TURBOROM INSTALLED :  As the benchmarks were being completed, Advent's
TurboROM was delivered.  All SBASIC benchmarks were run BEFORE and AFTER the
TurboROM was installed.  The Perfect Calc benchmarks were run only after the
TurboROM was installed.  "No" means that the tests were run using the original
Monitor ROM that came with the Kaypro.  "Yes" means that the original Monitor
ROM was replaced with the TurboROM.

RECORDING MEDIA:  The benchmark tests were either executed completely against
the floppy drive A: or against the Ramdisk (defined to be logical drive A).
The benchmark activities were either completely confined to either the floppy
drive or to the Ramdisk.  The "workload" during the benchmarks was never split
up between both floppy and Ramdisk drives.

DISK FORMAT : Two different floppy disk formats were used.  The normal format
for a Kaypro DS/DD diskette uses 512-byte sectors.  This is considered the
Standard DS/DD format.  The Advent TurboROM supports a larger-sector format
which uses 1024-byte sectors.  This is referred to as the Turbo DS/DD format
(NOTE: Kaypros that are not equipped with the TurboROM cannot read this
format).  The TurboROM DS/DD format is suppose to provide faster disk I/O.

SYSTEM CLOCK:  My Kaypro runs at two speeds: (1) the original 2.5 MHz speed
and (2) the enhanced Advent TurboCard 8 MHz speed.  Each benchmark was run
twice -- once at each speed.

ELAPSED TIME:  This is the time, in Minutes & Seconds format, required to
complete the task being measured.  For SBASIC benchmarks, this is the total
time it took to compile the XAMN.BAS program.  For the Perfect Calc
benchmarks, two elapsed times were measured: (1) the time it took to "load"
the program and the 7 associated spreadsheets, and (2) the time it took to
perform one recalculation across all 7 spreadsheets.

DECIMAL TIME: The Elapsed Time (in Minutes & Seconds format) is simply
converted to decimal format (Minutes & hundredth's of a minute) in order to
simplify the spreadsheet formulas.

PERCENTAGE DECREASE:  The Reference time-value is the "normal" time it would
have taken my Kaypro to perform the benchmark: at 2.5MHz against a Standard
format DS/DD disk drive.  All other values are expressed as a "Percentage
Decrease" from the initial reference value.  If the percentage decrease is 50%
then the benchmark speed has doubled. If the percentage decrease is 66%, then
the benchmark speed has tripled.  If the percentage decrease is 75%, then the
benchmark time is 4 times faster than the reference time.

------------------------------------------------------------------------------

SBASIC BENCHMARK TESTS                            !----COMPILATION STATISTICS-----!
                                                  !                               !
       TurboROM   Recording    Disk      System     Elapsed    Decimal  Percentage
       Installed    Media     Format      Clock      Time       Time     Decrease
       =========  =========  =========  =========  =========  =========  =========
Line 1     No       Floppy   Std. DS/DD   2.5 MHz     7.19       7.32     Reference
Line 2     No       Ramdisk      N/A      2.5 MHz     5.06       5.10        30
Line 3     No       Floppy   Std. DS/DD   8.0 MHz     4.23       4.38        40
Line 4     No       Ramdisk      N/A      8.0 MHz     2.10       2.17        70

Line 5     Yes      Floppy   Std. DS/DD   2.5 MHz     7.02       7.03         3
Line 6     Yes      Ramdisk      N/A      2.5 MHz     5.07       5.12        30
Line 7     Yes      Floppy   Std. DS/DD   8.0 MHz     4.00       4.00        45
Line 8     Yes      Ramdisk      N/A      8.0 MHz     2.10       2.17        70

Line 9     Yes      Floppy   Turbo DS/DD  2.5 MHz     6.51       6.85         6
 Line 10     Yes      Ramdisk      N/A      2.5 MHz     5.07       5.12        30
 Line 11     Yes      Floppy   Turbo DS/DD  8.0 MHz     4.02       4.03        44
 Line 12     Yes      Ramdisk      N/a      8.0 MHz     2.10       2.17        70


SBASIC BENCHMARK COMMENTS:  Line 1 indicates a reference time of 7 minutes and
19 seconds.  All "Percentage Decreases" are calculated with respect to the
initial 7:19 elapsed time value.  If you want to compare Ramdisk vs Floppy
performance at 2.5 MHz,  compare Lines 1 & 2 and Lines 5 & 6.  Likewise,
compare Ramdisk vs Floppy at 8 MHz by comparing Lines 3 & 4 and Lines 7 & 8.
If you are interested in the difference between 2.5 MHz and 8 MHz, look at
Lines 1 & 3, Lines 2 & 4, Lines 5 & 7, and Lines 6 & 8.  If you want to see
what a TurboROM will get you, compare Lines 1 & 3 with Lines 5 & 7 and Lines 9
& 11.

NOTE that the TurboROM had no influence upon the performance of the Ramdisk
one way or the other.  The TurboROM did seem to improve floppy disk drive
times somewhat -- but not by the 2-4 times that they advertise!

The fastest times are associated with the Ramdisk and the 8 MHz clock speed
(Lines 4, 8 & 12).


PERFECT CALC BENCHMARK TESTS                      !-----SPREADSHEET LOADING-------!!--SPREADSHEET RECALCULATION--!
                                                  !                               !!                             !
      TurboROM   Recording    Disk      System     Elapsed    Decimal  Percentage   Elapsed   Decimal Percentage
      Installed    Media     Format      Clock      Time       Time     Decrease      Time      Time   Decrease
      =========  =========  =========  =========  =========  =========  =========  =========  ======== =========
Line 1   Yes      Floppy   Std. DS/DD   2.5 MHz     6.40       6.67     Reference     2.25      2.42   Reference
Line 2   Yes      Ramdisk      N/A      2.5 MHz     3.50       3.83        42         0.57      0.95      60
Line 3   Yes      Floppy   Std. DS/DD   8.0 MHz     4.22       4.37        34         1.51      1.85      23
Line 4   Yes      Ramdisk      N/A      8.0 MHz     1.40       1.67        75         0.26      0.43      82

Line 5   Yes      Floppy   Turbo DS/DD  2.5 MHz     6.40       6.67         0         2.20      2.33       3
Line 6   Yes      Floppy   Turbo DS/DD  8.0 MHz     4.20       4.33        35         1.45      1.75      27


PERFECT CALC BENCHMARK COMMENTS:  This benchmark makes use of 7 "associated"
spreadsheets.  This means that one spreadsheet will be getting many of its
values off of other spreadsheets associated with it.  So cell values are being
transferred across spreadsheets.  SPREADSHEET LOADING time involves a total of
three activities: (1) Perfect Calc loads itself; (2) the 7 spreadsheets are
loaded into the Perfect Calc swapfile; and (3) the initial recalculation of
the spreadsheets before display.  SPREADSHEET RECALCULATION time measures
recalculation time AFTER the initial loading has completed.  Since the Advent
TurboROM was already installed prior to these benchmarks, all times reflect
the influence of the TurboROM on disk drive activity.

  Notice the substantial improvement between Lines 1 & 2 running at 2.5 MHz
and between Lines 3 & 4 at 8 MHz.  Also notice the lack of improvement between
Lines 1 & 5 and Lines 3 & 6.  Of course, the largest improvement lies between
Lines 1 & 4.

==============================================================================

FINAL NOTE:  This article is exactly 52,799 ASCII characters long.  It
requires 54K of disk space to store.  When I printed the final copy, it took
my Kaypro 65 seconds to "throw" the printer output into my 64K print buffer.
But it took my daisy wheel printer over 75 minutes to print the contents of
the print buffer.  During the time that this article was printing, I was
working on the KAMAS outline for another document!


FINAL FINAL NOTE:  This article was originally formatted for a 132-column
printer.  The copy of this file that was provided to the Richmond Kaypro
User's Group was reformatted into a 78-column document (spreadsheets may
require 120 columns).  As a result, the size of this file was reduced to
46,068 ASCII characters in length.
